#ifndef RANDOMGENERATECLASS_H
#define RANDOMGENERATECLASS_H

#include <QThread>

#include <vector>

/**
 * @brief 测试的线程类
 * @note Qt 的多线程要 创建一个线程类的子类，让其继承QT中的线程类 QThread
 */
class RandomGenerateClass : public QThread
{
    Q_OBJECT
public:
    explicit RandomGenerateClass(QObject *parent = nullptr);


private:
    /**
     * @brief 生成随机数的个数
     */
    int randomCount = 0;
    /**
     * @brief 生成随机数
     */
    void generateRandom(void);
public:
    /**
     * @brief 设置生成随机数的个数
     * @param count 个数
     */
    void setRandomCount(int count);

protected:
    /**
     * @brief 重写 run 函数
     * @note Qt 的多线程要 重写父类的 run() 方法，在该函数内部编写子线程要处理的具体的业务流程
     * @note 调用 start 即可启动线程
     */
    void run(void);

signals:
    /**
     * @brief 发送数据
     * @param dataArray
     */
    void sendVector(std::vector<int> dataArray);
};

#endif // RANDOMGENERATECLASS_H
